Systems and methods for identifying unidentified plumbing supply products

ABSTRACT

Methods and systems for identifying an unidentified plumbing supply product are provided. According to certain aspects, an application executing on an electronic device may be configured to capture image data encoding an image of the unidentified plumbing supply product therein. The application may cause the electronic device to transmit the image data to an identification server. The identification server may analyze the image data to determine the unidentified plumbing supply product encoded in the image data matches a known plumbing supply product in a plumbing supply products database. The identification server may then transmit an indication to the electronic device that the unidentified plumbing supply product was successfully identified. The identification of the unidentified plumbing supply product may be used to process and/or subrogate an insurance claim.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/013,362, entitled “Systems and Methods for Identifying UnidentifiedPlumbing Supply Products,” filed on Feb. 2, 2016, and which claims thebenefit of U.S. Provisional Patent Application No. 62/110,908, entitled“Systems and Methods for Identifying Unidentified Plumbing SupplyProducts,” filed on Feb. 2, 2015, the entire disclosures of both ofwhich are hereby incorporated herein by reference.

FIELD OF THE DISCLOSURE

The present disclosure generally relates to identifying an unidentifiedplumbing supply product, more particularly to the use of imagerecognition techniques to identify an unidentified plumbing supply line.

BACKGROUND

Homeowner and/or rental insurance exists to provide financial protectionagainst damage to one's home and the property therein. One source ofhome and/or property damage relates to faulty plumbing supply products(e.g., a ruptured supply line leaking). If the fault in the plumbingsupply product is due to a manufacturer defect, then an insuranceprovider for the home and/or property may pursue subrogation against aproduct manufacturer for damage associated with a correspondinginsurance claim. However, in order to pursue subrogation against theproduct manufacturer, the product manufacturer, the identity of theplumbing supply product, and the age of the plumbing supply product haveto be determined.

In the past identifying the faulty plumbing supply product involvedsending a plumbing products expert to inspect the damaged home and/orproperty personally. The plumbing expert would rely on his non-ordinaryknowledge in order identify the plumbing supply product andmanufacturer. This process is slow and expensive, as there are fewexperts that specialize in plumbing supply product identification.

SUMMARY

The present embodiments may, inter alia, automatically identify anunidentified plumbing supply product using computer learning and/orvision techniques. The present embodiments may further enable aninsurance provider process an insurance claim without the need forcoordinating a site visit by a plumbing supply product expert toidentify an unidentified plumbing supply product.

In one aspect, a method for enabling a user to identify an unidentifiedplumbing supply product may be provided. The method may be facilitatedvia an application executing on an electronic device. The electronicdevice may include one or more processors, a memory coupled to the oneor more processors and a camera configured to capture images includingthe unidentified plumbing supply product encoded therein. The method maycomprise (1) causing the one or more processors to display an interfacein the application executing on the electronic device, the interface forselection to begin a plumbing supply product identification process; (2)receiving an input at the one or more processors, from the user via theapplication, indicating a selection to begin the plumbing supply productidentification process; (3) the application causing the one or moreprocessors to activate the electronic device's camera for capturing afirst image of the unidentified plumbing supply product, wherein theunidentified plumbing supply product is associated with an insuranceclaim; (4) the application causing the camera to capture the firstimage, displayed in the application, of the unidentified plumbing supplyproduct; (5) the application causing the one or more processors totransmit from the electronic device, over a communications network to anidentification server associated with an insurance provider, the firstimage of the unidentified plumbing supply product; (6) receiving anotification, at the electronic device over the communications network,indicating that the unidentified plumbing supply product has beensuccessfully identified; and (7) in response to receiving thenotification that the unidentified plumbing supply product has beensuccessfully identified, causing the one or more processors to displayin the application an indication that the unidentified plumbing supplyproduct has been successfully identified. The method may includeadditional, fewer, or alternate actions, including those discussedelsewhere herein.

In another aspect, a computer-implemented method for identifying anunidentified plumbing supply product associated with an insurance claimmay be provided. The method may comprise (1) determining, by one or moreprocessors, that an identity of the unidentified plumbing supply productis required; (2) generating, by the one or more processors, a firstrequest to capture identifying information corresponding to theunidentified plumbing supply product; (3) transmitting, via acommunications network to an electronic device corresponding to anindividual associated with the insurance claim, the first request tocapture the identifying information; (4) receiving, via thecommunications network, a first set of image data encoding an image ofthe unidentified plumbing supply product therein; (5) analyzing, by theone or more processors, the first set of image data to generate a firstset of descriptors representative of the unidentified plumbing supplyproduct, wherein each descriptor is a numerical vector representative ofan aspect of a set of image data; (6) comparing, by the one or moreprocessors, the first set of descriptors to a plurality of storeddescriptors; (7) determining, by the one or more processors, that thefirst set of descriptors indicates that the unidentified plumbing supplyproduct matches a particular plumbing supply product stored in aplumbing supply product database, wherein the plumbing supply productdatabase includes data representative of a plurality of known plumbingsupply products; and (8) transmitting, via the communication network tothe electronic device associated with the individual, a notificationthat the unidentified plumbing supply product has been successfullyidentified. The method may include additional, fewer, or alternateactions, including those discussed elsewhere herein.

In still another aspect, a system method for enabling a user to identifyan unidentified plumbing supply product may be provided. The system maycomprise a communication network, one or more electronic devices,wherein each electronic device comprises one or more processors, amemory coupled to the one or more processors and a camera configured tocapture images including the unidentified plumbing supply productencoded therein, and one or more servers communicatively coupled to thecommunication network and the one or more electronic devices. The systemmay further comprise one of the one or more electronic devices having anapplication stored thereon, wherein the application is configured to (1)cause the one or more processors to display an interface in theapplication executing on the electronic device, the interface forselection to begin a plumbing supply product identification process; (2)receive an input at the one or more processors, from the user via theapplication, indicating a selection to begin the plumbing supply productidentification process; (3) cause the one or more processors to activatethe electronic device's camera for capturing an image of theunidentified plumbing supply product, wherein the unidentified plumbingsupply product is associated with an insurance claim; (4) cause thecamera to capture the image, displayed in the application, of theunidentified plumbing supply product; (5) cause the one or moreprocessors to transmit from the electronic device, over thecommunications network to an identification server associated with aninsurance provider, the image of the unidentified plumbing supplyproduct; (6) receive a notification, at the electronic device over thecommunications network, indicating that the unidentified plumbing supplyproduct has been successfully identified; and (7) in response toreceiving the notification that the unidentified plumbing supply producthas been successfully identified, cause the one or more processors todisplay in the application an indication that the unidentified plumbingsupply product has been successfully identified. The system may includeadditional, less, or alternate components and functionality, includingthat discussed elsewhere herein.

In yet another aspect, a system method for identifying a plurality ofunidentified plumbing supply products may be provided. The system maycomprise a communication network, one or more electronic devices,wherein each electronic device comprises one or more processors, amemory coupled to the one or more processors and a camera configured tocapture images including at least one of the plurality of unidentifiedplumbing supply products encoded therein, and one or more serverscommunicatively coupled to the communication network and the one or moreelectronic devices. The system may further comprise one of the one ormore servers having an application stored thereon, wherein theapplication is configured to (1) receive, via the communicationsnetwork, a plurality of sets of image data encoding an image of one ofthe plurality of unidentified plumbing supply products therein; (2)analyze, by the one or more processors, the plurality of sets of imagedata to generate a plurality of sets of descriptors representative ofthe plurality of unidentified plumbing supply products, wherein eachdescriptor is a numerical vector representative of an aspect of a set ofimage data; (3) compare, by the one or more processors, the plurality ofsets of descriptors to a plurality of stored descriptors; (4) determine,by the one or more processors, that at least one of the plurality ofsets of descriptors indicates that a respective at least one of theplurality of unidentified plumbing supply products matches a plumbingsupply product stored in a plumbing supply product database, wherein theplumbing supply product database includes data representative of aplurality of known plumbing supply products; and (5) transmit, via thecommunication network to the plurality of electronic devicescorresponding to at least one of the plurality of unidentified plumbingsupply products, a notification that the respective at least one of theplurality of unidentified plumbing supply products has been successfullyidentified. The system may include additional, less, or alternatecomponents and functionality, including that discussed elsewhere herein.

BRIEF DESCRIPTION OF THE DRAWINGS

The figures described below depict various aspects of the system andmethods disclosed herein. It should be understood that each figuredepicts an embodiment of a particular aspect of the disclosed system andmethods, and that each of the figures is intended to accord with apossible embodiment thereof. Further, wherever possible, the followingdescription refers to the reference numerals included in the followingfigures, in which features depicted in multiple figures are designatedwith consistent reference numerals.

There are shown in the drawings arrangements which are presentlydiscussed, it being understood, however, that the present embodimentsare not limited to the precise arrangements and instrumentalities shown,wherein:

FIG. 1 depicts an example environment including components and entitiesassociated with identifying an unidentified plumbing supply product, inaccordance with some embodiments;

FIG. 2 depicts an example signal diagram associated with the depictedcomponents of FIG. 1, for identifying an unidentified plumbing supplyproduct, in accordance with some embodiments;

FIG. 3A depicts an exemplary interface displayable by an electronicdevice, such as the electronic device of FIG. 1, for launching aplumbing supply product identification application in accordance withsome embodiments;

FIG. 3B depicts an exemplary interface displayable by an electronicdevice, such as the electronic device of FIG. 1, for displayingidentification instructions, in accordance with some embodiments;

FIG. 3C depicts an exemplary interface displayable by an electronicdevice, such as the electronic device of FIG. 1, for capturing an imageof an unidentified plumbing supply product, in accordance with someembodiments;

FIG. 3D depicts an exemplary interface displayable by an electronicdevice, such as the electronic device of FIG. 1, for selecting amatching plumbing supply product, in accordance with some embodiments;

FIG. 4 depicts a flow diagram associated with an electronic device, suchas the electronic device of FIG. 1, for identifying for an unidentifiedplumbing supply product, in accordance with some embodiments;

FIG. 5 depicts a flow diagram associated with an identification server,such as the identification server of FIG. 1, for identifying for anunidentified plumbing supply product, in accordance with someembodiments;

FIG. 6 is a block diagram of an exemplary electronic device, such as theelectronic device of FIG. 1, in accordance with some embodiments; and

FIG. 7 is a block diagram of an exemplary identification server, such asthe identification server of FIG. 1, in accordance with someembodiments.

The Figures depict preferred embodiments for purposes of illustrationonly. One skilled in the art will readily recognize from the followingdiscussion that alternative embodiments of the systems and methodsillustrated herein may be employed without departing from the principlesof the invention described herein.

DETAILED DESCRIPTION

The present embodiments may relate to, inter alia, identifying anunidentified plumbing supply product, such as a plumbing hose, supplyline, faucet, coupling, and/or any other plumbing supply product. Thepresent embodiments may further relate to maintaining a database ofknown plumbing supply products. The database may be organized bymanufacturer, product and/or product family. For example, Acme Co. mayhave released a plurality of different pipes in their AcmeX line ofplumbing supply lines. The database may be organized to identify allproducts created by Acme and/or to identify all products in the AcmeXproduct family manufactured by Acme Co. Each stored plumbing supplyproduct may include their respective part number and/or year of release.

In addition to the product description, the plumbing supply productdatabase may also include a plurality of images corresponding to eachstored plumbing supply product. In some embodiments, each plumbingsupply product may include images of the particular plumbing supplyproduct captured from a standardized set of camera angles. It should beappreciated the standardized set of camera angles may vary betweenplumbing supply product categories (i.e., plumbing supply lines maycontain a different set of standardized angles than plumbing valves).

In some further embodiments, each plumbing supply product in theplumbing supply product database may be tagged with a set of tagsdescribing the product. As used herein, a “tag” may refer to adetermined label representative of a particular aspect and/or feature ofa plumbing supply product, and “tagging” may refer to labeling datarepresentative of a plumbing supply product with a tag. For example, asupply line may be tagged with tags indicating that the supply line ismade from metal, has a coupling with six prongs, is 6¼″ in diameter, andso on. When combined with the manufacturer name and product familyinformation, each item in the plumbing supply database may be taggedwith a unique combination of tags.

As used herein, “descriptor” refers to a numerical vector of data thatrepresents an aspect of image data. The descriptor may correlate to aparticular feature of image data represented by a tag. For example, afirst descriptor may represent the shape of a coupling (e.g., hexagonal,circular, or other shape), and a second descriptor may represent a colorof the coupling. Based upon the descriptor values generated byprocessing a set of image data, a plumbing supply product may be taggedwith a respective shape and/or color tag. It should be appreciated thata descriptor may represent a particular plumbing supply product as awhole as well as an individual aspect of a plumbing supply product(e.g., a tag represents the Acme Co. model A123-Z1 plumbing supplyline). As used herein, a “descriptor rule” may refer to a mathematicaloperation performed on a set of image data to generate a correspondingdescriptor. As an example, a descriptor rule for a color descriptor maycomprise an average of a red, green, and blue respective pixel valueswithin a set or subset of image data. In this example, if a stored setof image data represents a pure red image, after the stored image isprocessed by the color descriptor rule, a descriptor or vector of [255,0, 0] may be generated and associated with the stored image. Further,descriptor rules may also include a threshold value that indicates aEuclidean distance from a stored representative descriptor in which acorresponding descriptor generated by processing a set of image datamust fall within to be considered a match, and thus tagged with thecorresponding tag. As used herein, a “representative descriptor” mayrefer to a stored descriptor corresponding to a tag in which othergenerated descriptors are compared to when determining whether a set ofimage data should be tagged with the corresponding tag.

In some embodiments, the stored representative descriptors, descriptorrules and thresholds may be stored as part of the plumbing supplyproduct database, an identification server, and/or any other computercomponent capable of storing data. The stored representativedescriptors, descriptor rules and thresholds may be determined and/ormodified through computer learning and/or training techniques. Forexample, the identification server may test the predictive power of aplurality of randomly-generated representative descriptors, descriptorrules and thresholds by storing a set of training images that weremanually tagged. Subsequently, the system may test whether the knownplumbing supply product was correctly identified by the system throughthe use of the generated representative descriptors. After completing alarge number of these tests, the server may identify a set ofrepresentative descriptors, descriptor rules and thresholds that has astrong likelihood of correctly identifying the correct plumbing supplyproduct and/or set of tags for a plurality of unidentified plumbingsupply products. As more products are added to the plumbing supplyproducts database, the identification server may identify a new set ofrepresentative descriptors, descriptor rules and/or thresholds that haseven stronger predictive power than the previously stored set ofrepresentative descriptors, descriptor rules and thresholds.

It should be appreciated the above examples of generating and/ormodifying representative descriptors, descriptor rules and thresholdsfor tags are not intended to be limiting and other techniques togenerate and/or modify representative descriptors, descriptor rules andthresholds may be implemented within the scope of the present invention.

After an insurance provider sets up a plumbing supply product databaseand the representative descriptor, descriptor rule and thresholdinformation as described above, the insurance provider may leverage thedatabase for more efficient processing of claims. In some cases, theinsurance provider may have pre-negotiated subrogation contracts withparticular manufacturers of plumbing supply products. The presentembodiments enable the insurance provider to quickly identify whether aplumbing supply product associated with an insurance claim ismanufactured by a plumbing supply product manufacturer with apre-negotiated subrogation contracts. In some scenarios, theunidentified plumbing supply product may identified as a product thatwas manufactured too long ago to qualify for subrogation. The insuranceprovider may then terminate the subrogation process sooner, saving theinsurance provider time and money that is not spent pursuing asubrogation claim with a low likelihood of success. By being able toidentify a particular unidentified plumbing supply product withoutcoordinating an expert site visit, insurance claims can be processfaster and/or at lower cost. These savings may be passed on topolicyholders in the form of cheaper insurance premiums. In addition toidentify plumbing supply lines, the techniques described herein may alsoimprove other technological fields such as logistics, centralized watermanagement, quality control, and/or any other similar technologicalfields.

Additionally, the use of the plumbing supply product databasecentralizes the processing of the plumbing supply product identificationprocess. To this end, the previous manual identification process reliedupon the specialized product database traveling to the site of theunidentified plumbing supply product (via the mind of the productspecialist). Conversely, an identification sever interconnected with theplumbing supply database may be specially configured to a computingenvironment optimized for executing descriptor rules on received imagesand/or updating a corresponding machine learning algorithm thatgenerates the descriptor rules. To this end, although for ease ofexplanation the exemplary descriptors and/or descriptor rules describedherein may describe simple concepts, in practice, descriptors may be farmore complex. For example, a descriptor may represent amulti-dimensional analysis of an image that has no inherent analog to aconcept perceivable by humans. Moreover, such calculations may notinvolve computations that are commonly performed by general purposecomputing devices. Thus, in some embodiments, the advanced imagerecognition techniques described herein may be processed moreefficiently through execution by a centralized, specialized computingenvironment (such as an identification server), where the computerprocessors are configured and/or optimized to more efficiently executethe particular types of algorithms utilized in multi-dimensional imagerecognition techniques. As a result, when the identification serverexecutes instructions containing the image recognition techniquesdescribed the instructions may be process more efficiently by theidentification server than when the same instructions are executed by ageneral-purpose electronic device (e.g., mobile phone, tablet, etc.).

It should also be understood that, unless a term is expressly defined inthis patent using the sentence “As used herein, the term ‘_(——————)’ ishereby defined to mean . . . ” or a similar sentence, there is no intentto limit the meaning of that term, either expressly or by implication,beyond its plain or ordinary meaning, and such term should not beinterpreted to be limited in scope based on any statement made in anysection of this patent (other than the language of the claims). To theextent that any term recited in the claims at the end of this disclosureis referred to in this disclosure in a manner consistent with a singlemeaning, that is done for sake of clarity only so as to not confuse thereader, and it is not intended that such claim term be limited, byimplication or otherwise, to that single meaning. Finally, unless aclaim element is defined by reciting the word “means” and a functionwithout the recital of any structure, it is not intended that the scopeof any claim element be interpreted based on the application of 35U.S.C. § 112, sixth paragraph.

I. Exemplary Identification Environment

FIG. 1 illustrates an example environment 100 associated withidentifying an unidentified plumbing supply product. Although FIG. 1depicts certain entities, components, and devices, it should beappreciated that additional or alternate entities and components areenvisioned.

As illustrated in FIG. 1, the environment 100 may include anunidentified plumbing supply product 105 that may be associated with aninsurance claim. The unidentified plumbing supply product 105 may be aplumbing supply line, a valve, a coupling, a faucet, a fitting, and/orany other plumbing supply component. The environment 100 may alsoinclude an electronic device 110. Although the electronic device 110 isdepicted as a smartphone, the electronic device may be any electronicdevice, such as a desktop computer, a laptop, a tablet, a phablet, asmart watch, smart glasses, wearable electronics, pager, personaldigital assistant, and/or any other electronic device, includingcomputing devices configured for wireless radio frequency (RF)communication. In some embodiments the electronic device may beassociated with an individual, such as a policyholder or a claimsadjustor that lacks the expertise to identify the unidentified plumbingsupply product 105.

The electronic device 110 may store machine-readable code representativeof a plumbing supply identification application (“application”) 115stored in a memory therein. As part of the process to identify theunidentified plumbing supply product 105, the individual may launchand/or execute the application 115. As a result, the electronic device110 may display an interface that may direct the individual through theprocess of identifying the unidentified plumbing supply product 105. Theapplication 115 may further cause the electronic device 110 to presentan interface for capturing image data of the unidentified plumbingsupply product 105. In some embodiments, the application 115 may alsocause the electronic device 110 to display on the interface aninstruction directing the individual to capture a particular featureand/or angle of the unidentified plumbing supply product 105. Accordingto certain aspects, the interface may instruction the individual tocapture image data depicting multiple features and/or angles of theunidentified plumbing supply product 105.

According to present embodiments, the application 115 may cause theelectronic device 110 to transmit the captured image data to anidentification server 125 via a network 120. The network 120 mayfacilitate any type of data communication via any standard or technology(e.g., GSM, CDMA, TDMA, WCDMA, LTE, EDGE, OFDM, GPRS, EV-DO, UWB, IEEE802 including Ethernet, WiMAX, WiFi, Bluetooth, and others). In somefurther embodiments, in addition to the captured image data, theapplication 115 may cause the electronic device 110 to transmitindications of manual user input (e.g., a claim number, a category ofplumbing supply product, a material, and/or others).

According to embodiments, the identification server 125 may be coupledto a plumbing supply product database 135 that may store datarepresentative of a plurality of known plumbing supply products and/ortags their respective representative descriptors, descriptor rules,and/or threshold values as determined using techniques describedelsewhere herein. Although FIG. 1 depicts the plumbing supply productdatabase 135 as coupled to the identification server 125, it isenvisioned that the plumbing supply product database 135 may bemaintained in the “cloud” such that any element of the environment 100capable of communicating over the network 120 may directly interact withthe plumbing supply product database 135. In some embodiments, theplumbing supply product database 135 may be stored in a memory componentof the identification server 125.

The identification server 125 may analyze the received image data, aswell as any indications of manual user input, to identify theunidentified plumbing supply product 105. Based upon the received imagedata and/or manual user input, the identification server 125 maygenerate a set of descriptors that describe the unidentified plumbingsupply product 105. The generated set of descriptors may be compared torespective representative descriptors for plumbing supply productsand/or tags stored in the plumbing supply product database 135. If agenerated descriptor is similar enough to a particular stored descriptor(e.g., within a threshold distance of a representative descriptor), thenthe unidentified plumbing supply product 105 may be considered a matchof the stored plumbing supply product and/or tags. When the image datarepresentative of the unidentified plumbing supply product 105 matches atag corresponding to a particular stored plumbing supply product, theidentification server 125 may identify the unidentified plumbing supplyproduct 105 as the particular stored plumbing supply product. Further,when the set of tags matching the image data representative of theunidentified plumbing supply product 105 matches a set of tagscorresponding to a particular stored plumbing supply product in theplumbing supply product database 135, then the identification server 125may identify the unidentified plumbing supply product 105 as thatparticular stored plumbing supply product.

The identification server 125 may then transmit an indication that theunidentified plumbing supply product 105 was successfully identified.The indication may identify the unidentified plumbing supply product asthe particular stored plumbing supply product. When the application 115determines that the electronic device 110 has received the indication ofsuccess, the application 115 may cause the electronic device 110 todisplay a visual indication to the individual that unidentified plumbingsupply product 105 was successfully identified. In other embodiments,prior to displaying the indication of success, the application 115 maycause the electronic device 110 to display a list known plumbing supplyproducts, including the particular stored plumbing supply product. Thelist may include images and/or a textual description of each plumbingsupply product in the list. In these embodiments, the user of theelectronic device 110 may select the listed plumbing device that theuser believes matches the unidentified plumbing supply product 105.According to certain aspects, the identification server 125 may alsoinclude the identity of the particular stored plumbing supply productwithin the insurance claim associated with the unidentified plumbingsupply product 105.

In some embodiments, if the identification server 125 determines thereis no matching plumbing supply product and/or set of tags, theidentification server 125 may generate a request to receive another setof image data. If the identification server 125 determined there was adeficiency in the first set of image data (e.g., the image was blurry,out of focus, too dark, etc.) the request may include an instruction tocorrect the deficiency. If the identification server 125 determined thatimage data for a different feature and/or angle of the unidentifiedplumbing supply product 105 is needed to identify the unidentifiedplumbing supply product 105, the request may include an instruction todirect the individual to capture the needed feature and/or angle of theunidentified plumbing supply product 105. In response to the application115 determining that the electronic device 110 has received the requestfor more image data, the application 115 may cause the electronic device110 to display an interface for capturing the additional image data.

II. Exemplary Identification of a Plumbing Supply Product

Referring to FIG. 2, illustrated is a signal diagram 200 associated withidentifying an unidentified plumbing supply product. In particular, FIG.2 includes an identification server 225 (such as the identificationserver 125 as described with respect to FIG. 1), a plumbing supplyproduct identification application (“application”) 215 (such as theplumbing supply product identification application 115 as described withrespect to FIG. 1), an individual 212 associated with an electronicdevice 210 (such as the electronic device 110 as described with respectto FIG. 1), an unidentified plumbing supply product 205 (such as theunidentified plumbing supply product 105 as described with respect toFIG. 1), and a plumbing supply product database 235 (such as theplumbing supply product database 135 as described with respect to FIG.1). It should be appreciated that the electronic device 210 may compriseany type of electronic device. Although only the electronic device 210and the unidentified plumbing supply product 205 are depicted in FIG. 2,it should be appreciated that the identification server 225 maycommunicate with a plurality of electronic devices to identify aplurality of unidentified plumbing supply products.

The signal diagram 200 may begin when the identification server 225determines (220) that an identification of the unidentified plumbingsupply product 225 is needed, for example, to subrogate and/or processan insurance claim. To this end, the identification server 225 may scanan archive of insurance claim data (not depicted) for an insurance claiminvolving the unidentified plumbing supply product 205. When theidentification server 225 identifies an insurance claim involving theunidentified plumbing supply product 205, the identification server mayscan the insurance claim data to identify the electronic device 210and/or the individual 212. The identification server 225 may thentransmit (224) a request to the electronic device 210 to captureidentifying information corresponding to the unidentified plumbingsupply product 205.

In some embodiments, the electronic device 210 may have the application215 loaded in a memory. The application 215 may operate as a backgroundprocess that monitors a communication module of the electronic device210 to detect that the electronic device 210 has received the request tocapture identifying information. Upon detecting that that the electronicdevice 210 has received the request to capture identifying information,the application 215 may cause the electronic device 210 to display analert to the individual 212. In some embodiments, when the individual212 interacts with the alert, the application 215 may cause theelectronic device 210 to display (228) a plumbing supply productidentification interface. It should be appreciated that the application215 may also cause the electronic device 210 to display the plumbingsupply product identification interface automatically upon receiving therequest to capture identifying information and/or in response to theindividual manually launching the application 215 without firstreceiving the request to capture identifying information.

The individual 212 may interact with the plumbing supply productidentification interface to select an interface element indicating thatthe individual 212 may be ready to capture the identifying information.In some embodiments, the interaction may be touching a soft key and/oran icon, performing a gesture (e.g., swiping), providing a verbalcommand, and/or any other technique for receiving input from theindividual 212. Regardless of the method of interaction, the application215 may detect the selection (232) provided by the individual 212 tolaunch an image capture interface.

In some optional embodiments, in response to detecting the selection tolaunch the image capture interface, the application 215 may first causethe electronic device 210 to display (236) an interface to receivemanual input from the individual 212. The manual input interface maypresent a question and/or a series of questions to the individual 212.For example, the manual input interface may ask the individual 212 toinput a category of plumbing supply products or a material from whichthe unidentified plumbing supply product 205 is made. In order to selectthe manual input, the application 215 may cause the electronic device210 to present a plurality interface elements, including drop downmenus, check boxes, blank text fields or any other method of input viaan interface from the individual 212. Regardless of the method of input,the application 215 may detect the selection (240) of manual inputprovided by the individual 212.

In some further optional embodiments not depicted in FIG. 2, theapplication 215 may cause the electronic device 210 to transmit theselection of manual input to the identification server 225. Based uponthe manual input, the identification server 225 may determine aninstruction to begin to narrow the set of potential known plumbingsupply products the unidentified plumbing supply product 205 may beidentified as. For example, if the individual 212 selected that theunidentified plumbing supply product 205 is a metal pipe, theidentification server 225 may determine that a first set of image datarepresentative of a first feature and/or angle may be more likely topredict the identity of the unidentified plumbing supply product 205than if the individual 212 had selected that the unidentified plumbingsupply product 205 is a PVC pipe. Accordingly, if the individual 212selected that the unidentified plumbing supply product 205 is a PVCpipe, the identification server 225 may determine that a second set ofimage data representative of a second feature and/or angle may be morelikely to predict the identity of the unidentified plumbing supplyproduct 205. Based upon the determined set of image data, theidentification server 225 may generate and/or transmit to the electronicdevice 210 an instruction to capture the determined set of image data.As an example, if the determined set of image data is one that includesthe shape of a coupling, the generated instruction may be to captureimage data representative of a frontal angle of the coupling. It shouldbe appreciated that in some embodiments, multiple images may be requiredto capture the determined set of image data (e.g., the determined set ofimage data may include an image of each end of a hose).

In any case, the application 215 may cause the electronic device 210 toactivate (244) a camera interface (and/or an interface for another typeof image sensor). The camera interface may display a preview of imagedata that the electronic device 210 may capture and/or store. In someembodiments, the camera interface may also display an instruction to theindividual 212 requesting that that the individual 212 captures an imageof the unidentified plumbing supply product 205 in a particular way. Forexample, the instruction may include guidelines that assist the user inaligning the electronic device 210 to capture image data representativeof the unidentified plumbing supply product 205 from the correct angle.In embodiments where the application 215 has detected that theelectronic device 210 received an instruction from the identificationserver 225, the displayed instruction may be the received instruction.In other embodiments, the application 215 may cause the electronicdevice 210 to display a default instruction.

The camera interface may also include elements that enable theindividual 212 to capture an image of the unidentified plumbing supplyproduct 205. In some embodiments, the camera interface may include asoft button that causes the electronic device 210 to capture and/orstore displayed image data. In other embodiments, the application 215may recognize elements of the displayed image data and cause theelectronic device 210 to automatically capture and/or store thedisplayed image data. In any case, the application 215 may detect atrigger to capture and/or store the displayed image data causing theelectronic device 210 to capture (248) and/or store the displayed imagedata. In embodiments in which the determined set of image data requiresmultiple images, the application 215 may interact with the camera of theelectronic device 210 to facilitate the capture and/or storage of theadditional images. The application 215 may then cause the electronicdevice 210 to transmit (252) the captured image data to theidentification server 215.

According to present embodiments, after receiving the captured imagedata, the identification server 225 may analyze the captured image datato generate (256) a set of descriptors representative of a plurality ofaspects of the captured image data. As described elsewhere herein, theidentification server 225 may store and/or have communicative access toa plurality of data representative of a plurality of known plumbingsupply products, including a plurality of tags and their respectiverepresentative descriptors, descriptor rules, and thresholds, asdescribed elsewhere herein. By processing the captured image data viathe plurality of descriptor rules corresponding to respectivedescriptors, the identification server 225 may generate a plurality ofcorresponding descriptors representative of the unidentified plumbingsupply product 205. The identification server 225 may compare theplurality of generated descriptors to the plurality of respectiverepresentative descriptors to determine whether the Euclidean distancebetween the generated and respective representative descriptors iswithin the respective threshold value. When the Euclidean distance iswithin the respective threshold value, the unidentified plumbing supplyproduct 205 may be tagged with the respective tag. As an example, if theidentification server 225 processes the captured image data using a“six-prongs” descriptor rule, and the generated descriptor is within the“six prongs” threshold Euclidean distance from the “six prongs”representative descriptor, the unidentified plumbing supply product 205may be tagged with the “six prongs” tag.

The identification server 225 may determine whether to tag theunidentified plumbing supply product 205 with each of a plurality oftags associated with known possible plumbing supply products for whichthe unidentified plumbing supply product 205 may still be identified as.In one example, when the identification server 225 has received manualinput indicating that the unidentified plumbing supply product 205 is ametal valve, the set of tags for associated with all stored metal valvesmay be smaller than the overall set of tags associated with all knownplumbing supply products. In this example, the identification server 225may only generate descriptors corresponding to the subset of tagsassociated with stored metal valves. It should be appreciated that asthe identification server 225 determines whether or not the unidentifiedplumbing supply product 205 should be tagged with each tag, the set oftags associated with known possible plumbing supply products for whichthe unidentified plumbing supply product 205 may still be identified asmay decrease. Thus, even though there may initially be 500 tagsassociated with all metal valves, the identification server 225 may onlygenerate 25 descriptors for image data representative of a metal valve.

In some embodiments, each tag may also be associated with a priorityvalue. The priority may be representative of the number of tags that canbe eliminated from the set of possible tags if the unidentified plumbingsupply product 205 is tagged with the corresponding tag. In order tosave processing time, the identification server 225 may generatedescriptors beginning with the highest priority tag and proceed untilgenerating the descriptor corresponding to the possible tag with thelowest priority. In some embodiments, the identification server 225 mayexecute computer training and/or learning algorithms to optimize thepriority values based upon the operation of the identification processin an implementation.

By reducing the number of descriptors generated to the mostdeterminative descriptors, the amount of processing power required todetermine whether the unidentified

plumbing supply product 205 matches a known plumbing supply product canbe minimized. This reduces the amount of clock cycles dedicated to animage analysis routine and further enables the identification server 225to reduce the amount of processing resources allocated to identifyingany individual unidentified plumbing supply product from the pluralityof unidentified plumbing supply products, including the unidentifiedplumbing supply product 205.

When the identification server 225 completes the process of determiningwhether to tag the unidentified plumbing supply product 205 with eachtag associated with the plumbing supply products for which theunidentified plumbing supply product 205 may still be identified as, theidentification server 225 may have generated a set of tags correspondingto the unidentified plumbing supply product 205. The identificationserver may then compare (260) the set of tags to a respective set oftags corresponding to each known plumbing supply product for which theunidentified plumbing supply product 205 may still be identified. Theidentification server 215 may determine (264) that the generated set oftags is matches and/or is identical to a set of tags for a particularplumbing supply product in the plumbing supply product database 235.Accordingly, the identification server 215 may identify the unidentifiedplumbing supply product 205 as the particular plumbing supply productfrom the plumbing supply product database 235.

Similarly, in some scenarios, a tag in the generated set of tagscorresponding to the unidentified plumbing supply product 205 mayrepresent a particular plumbing supply product stored in the plumbingsupply product database 235. In these scenarios, the unidentifiedplumbing supply product 205 may be identified as the particular plumbingsupply product represented by the tag. In these scenarios, theidentification server 225 may still compare the generated set of tags tothe set of tags associated with the particular plumbing supply product'sset of tag to ensure compatibility and provide further confidence in thedetermined identity.

Additionally or alternatively, as part of the matching and/oridentification process, the identification server 225 may generate alist of the closest matching plumbing supply products in the plumbingsupply product database 235. For example, the closeness of the match maybe determined by the number of tags in common between the storedplumbing supply product and the unidentified plumbing supply product205. As another example, closeness may be determined by the closenessbetween the received image data and the descriptor corresponding to aparticular plumbing supply product in the plumbing supply productdatabase 235. In scenarios in which the unidentified plumbing supplyproduct 205 is identified as the particular plumbing supply product fromthe plumbing supply product database 235, the identification server mayensure that the particular plumbing supply product is included withinthe list of matching plumbing supply products.

After determining that the unidentified plumbing supply product 205matches the particular plumbing supply product and/or generating a listof matching plumbing supply products, the identification server 225 maytransmit (268) to the electronic device 210 a notification that theunidentified plumbing supply product 205 was successfully identified. Insome embodiments, the notification may also identify the unidentifiedplumbing supply product 205 as the particular plumbing supply productfrom the product supply product database 235. In other embodiments, thenotification may include the list of matching plumbing supply products.The application 215 may detect that the electronic device 210 hasreceived the notification of successful identification and/or cause theelectronic device 210 to display (272) an indication that theunidentified plumbing supply product 205 was successfully identifiedand/or the list of matching plumbing supply products. In embodiments inwhich the notification includes the list of matching plumbing supplyproducts, the individual 212 may select a listed plumbing supply productthat the individual believes matches the unidentified plumbing supplyproduct 205. In response, the application 215 may identify theunidentified plumbing supply product 205 as the selected plumbing supplyproduct. In some embodiments, the application 215 may further cause theelectronic device 210 to display the determined identity of theunidentified plumbing supply product 205, as well as any other usefulinformation relating to the determined identity of the unidentifiedplumbing supply product (e.g., a replacement cost, a reliability rating,online review data, and so on). The signal diagram 200 may includeadditional, fewer, or alternate actions, including those discussedelsewhere herein.

III. Exemplary User Interfaces

An electronic device (such as the electronic device 110 as describedwith respect to FIG. 1) may provide several interfaces that enable anindividual to identify an unidentified plumbing supply product (such asunidentified plumbing supply product 105 as described with respect toFIG. 1). The interfaces may be provided as part of a plumbing supplyproduct identification application (such as the plumbing supplyidentification application 115 as described with respect to FIG. 1) thatis executed on the electronic device.

FIG. 3A illustrates an exemplary interface 300 that may be displayed bythe electronic device upon launching the application. The interface 300may display an indication that the individual has launched theapplication (“Plumbing Identifier”). As discussed elsewhere herein, theinterface 300 may also provide means to begin the identificationprocess, such as the ability to detect the individual tapping a screenof the electronic device (indicated by the instruction to “Tap toBegin”). It should be appreciated that interface 300 may provideadditional, fewer, or alternative interface elements to receive anindication from the individual to begin the identification process.

FIG. 3B illustrates an exemplary interface 325 for displayingidentification instructions to the individual. The interface 325 may bepresented subsequent to beginning the identification process (such as byselecting the “Begin” soft button illustrated in FIG. 3A). The interface325 may present to the user a request to receive information about theunidentified plumbing supply product (“Take Toilet Hose Photos”). Tothis end, the interface 325 may include an instruction to capture imagedata of the unidentified plumbing supply product from one or moreparticular angles. For example, as depicted in FIG. 3B, the interface325 may indicate that the individual should capture an image of each endof a hose, as well as any identifying marks (if seen). Interface 325 mayalso provide soft buttons 330 that enables the individual to capture arespective set of image data. In some embodiments, after the individualselects the one of the soft buttons 330, the interface 325 may presentanother interface that enables the individual to capture the respectiveset image data. Additionally, the interface 325 may include a softbutton (“Identify Hose”) that enables the individual to indicate thatthe requested image data has been captured. In response to the selectionof this soft button, the application may interact with a remote serverto attempt to identify the unidentified plumbing supply product. Itshould be appreciated that interface 325 may provide additional, fewer,or alternative interface elements to display instructions to theindividual to capture information about the unidentified plumbing supplyproduct.

FIG. 3C illustrates an exemplary interface 350 for capturing image datarepresentative of the unidentified plumbing supply product. Theinterface 350 may be presented in response to selecting one of the softbuttons 330, as illustrated in FIG. 3B. The interface 350 may display aninstruction and/or guidelines that direct the individual to capture aparticular set of image data. For example, as depicted in FIG. 3C, theinterface 350 may depict markings that roughly mirror the expected shapeof the unidentified plumbing supply product to help ensure that thecaptured image data is in a format that can be readily analyzed by anidentification server. The interface 350 may also provide a “Capture”soft key that causes the electronic device to capture and/or store a setof image data. The interface 350 may further depict a preview of theimage data that may be captured and/or stored by the electronic devicein response to the individual pressing the “Capture” soft key. It shouldbe appreciated that interface 350 may provide additional, fewer, oralternative interface elements to capture image data representative ofthe unidentified plumbing supply product.

FIG. 3D illustrates an exemplary interface 375 for selecting a matchingplumbing supply product. The interface 375 may be presented in responseto an identification server analyzing a set of image data transmitted bythe electronic device, such as the transmission that may occur when theindividual selects the “Identify Hose” soft button, as illustrated inFIG. 3B. The interface 375 may display a selectable list of knownplumbing supply products that are most likely be the unidentifiedplumbing supply product. The list of known plumbing supply products mayinclude an image of the plumbing supply product, as well as a textualdescription of the known plumbing supply product. The interface 375 mayfurther include a soft button (“Submit”) that, when selected, causes theelectronic device to transmit an indication of the selected knownplumbing supply product. It should be appreciated that interface 350 mayprovide additional, fewer, or alternative interface elements to select amatching plumbing supply product.

IV. Exemplary Method of Capturing Image Data

Referring to FIG. 4, illustrated is a block diagram of an exemplarymethod 400 for capturing image data to identify an unidentified plumbingsupply product. The method 400 may be facilitated by an application(such as the plumbing supply identification application 115 as describedwith respect to FIG. 1) running on an electronic device (such as theelectronic device 110 as described with respect to FIG. 1).

The application may cause the electronic device to display an interfacefor beginning the plumbing supply product identification process (Block405), for example, the interface 300 depicted in FIG. 3A. From thebeginning interface, a user may interact with the application toindicate that the user is ready to begin identifying the unidentifiedplumbing supply product. The application may detect and/or receive inputcorresponding to this user interaction (Block 410). In response, theapplication may activate the device camera (Block 415) and/or cause theelectronic device to present a corresponding interface, for example, theinterface 350 depicted in FIG. 3C. The application may then detectand/or receive input from the user to capture a first image of theunidentified plumbing supply product (Block 420) and/or toautomatically, or in response to user approval, transmit the first imageto an identification server (Block 425).

After transmitting the first image to the identification server, theapplication may detect that the electronic device has received aresponse from the identification server (Block 430). The application maydetermine whether the response indicates that the unidentified plumbingsupply product was successfully identified (Block 435). If the responseindicates that the unidentified plumbing supply product was notsuccessfully identified (“NO”), the application may further analyze theresponse to determine an instruction describing a new requested image.After determining the instruction, the application may again activatethe device camera (Block 440) and/or cause the electronic device topresent the corresponding interface. According to some embodiments, thecamera interface may now display an instruction directing the user howto capture the new requested image of the unidentified plumbing supplyproduct. The application may then detect and/or receive input from theuser to capture the new image of the unidentified plumbing supplyproduct (Block 445) and/or to automatically, or in response to userapproval, transmit the new image to the identification server (Block450).

After transmitting the new image to the identification server, theapplication may detect that the electronic device has received anotherresponse from the identification server (Block 430). The application maythen determine whether the new response indicates that the unidentifiedplumbing supply product was successfully identified (Block 435). In someembodiments, the successful response may include a list of the closestmatching plumbing supply products within a database. If the responseindicates that the unidentified plumbing supply product was still notsuccessfully identified (“NO”), the application may perform the actionsassociated with Blocks 440-450 again. Conversely, if the responseindicates that the unidentified plumbing supply product was successfullyidentified (“YES”), the application may display an indication that theidentification occurred successfully (Block 455). In embodiments inwhich the electronic device received the list of the closest matchingplumbing supply products, the application may cause the device todisplay the received list. In these embodiments, the display ofsuccessful identification may not occur until after the user selects adisplayed plumbing supply product from the list of closest matchingplumbing supply products. It should be appreciated that the method 400may include additional, fewer, or alternate actions, including thosediscussed elsewhere herein.

V. Exemplary Method for Analyzing Image Data

Referring to FIG. 5, illustrated is a block diagram of an exemplarymethod 500 for analyzing image data to identify an unidentified plumbingsupply product. The method 500 may be facilitated by an identificationserver (such as the identification server 125 as described with respectto FIG. 1) communicatively coupled to a plumbing supply product database(such as the identification server 125 as described with respect to FIG.1).

The identification server may process insurance data to determine thatan identity of an unidentified plumbing supply product is needed toprocess and/or subrogate an insurance claim (Block 505). Theidentification server may then generate a request to capture identifyinginformation of the unidentified plumbing supply product (Block 510) andtransmit the request to an electronic device associated with theinsurance claim (Block 515). In some embodiments, identifyinginformation may be captured in one or more images. In response, theidentification server may receive a first set of image data from theelectronic device (Block 520).

According to present embodiments, the identification server may thengenerate a first set of descriptors that represent a plurality ofaspects of the first set of image data (Block 525). The identificationserver may then use the first set of descriptors to a determine set oftags that apply to the first set of image data. The identificationserver may associate any tags that apply to the first set of image datawith the unidentified plumbing supply product. The identification servermay further determine whether the set of tags associated with theunidentified plumbing supply product matches a set of tags associatedwith a known plumbing supply product in the plumbing supply productdatabase (Block 530).

If the set of tags associated with the unidentified plumbing supplyproduct does not match a known plumbing supply product in the plumbingsupply product database (“NO”), the identification server may generate arequest to capture new identifying information (Block 535). In order togenerate the request for new information, the identification server mayfirst determine a list plumbing supply products in the plumbing supplyproduct database that may still potentially match the unidentifiedplumbing supply product. The identification server may analyze this listdetermine an instruction to include in the generated request. As anexample, the list of possible matches in the plumbing supply productdatabase may be two different hoses, one with a copper link between thehose and its coupling, and one with an aluminum-alloy link. In thisexample, the instruction may be to capture an image of the link betweenthe hose and coupling. Of course, the instruction may vary depending onthe list of possible matches in the plumbing supply product database.For example, the instruction may also direct the individual to captureat least one of text or symbols on the unidentified plumbing supplyproduct, a side-view of the unidentified plumbing supply product, afront-view of the unidentified plumbing supply product, an image of acoupling associated with the unidentified plumbing supply product, and aphysical token indicative of the scale of the unidentified plumbingsupply product.

By generating an instruction based on the list of potential matches inthe plumbing supply product database, the amount of times new sets ofimage data will be requested, transmitted, and/or analyzed may beminimized. This enables the disclosed systems and methods to reduce thenumber of network communication resources dedicated to the transmissionand/or reception of image data and/or requests to capture image data. Inturn, a communication module associated with the identification serverand/or the electronic device may require less processing power, reducingthe overall processor load corresponding to the identification serverand/or electronic device, respectively.

The identification server may then transmit to the electronic device therequest to capture new identifying including the generated instruction(Block 540). In response, the identification server may receive from theelectronic device a new set of image data (Block 545). Theidentification server may then generate a new set of descriptors basedupon the new set of image data (Block 550). The identification servermay further associate the unidentified plumbing supply product with anynew tags that apply to the new set of image data.

The identification server may then determine whether the updated set oftags associated with the unidentified plumbing supply product matches aset of tags associated with a known plumbing supply product in theplumbing supply product database (Block 530). If the updated set of tagsassociated with the unidentified plumbing supply product still does notmatch a known plumbing supply product in the plumbing supply productdatabase (“NO”), the identification server may perform the actionsassociated with Blocks 535-550 again. Conversely, if the updated set oftags associated with the unidentified plumbing supply product now doesmatch a known plumbing supply product in the plumbing supply productdatabase (“YES”), the identification server may transmit an indicationthat the unidentified plumbing supply product has been successfullyidentified (Block 555). In some embodiments, the transmitted indicationincludes a determined identity of the unidentified plumbing supplyproduct. Additionally or alternatively, the transmitted indication mayinclude a list of the closest matching plumbing supply products in theplumbing supply product database that includes the matching plumbingsupply product. It should be appreciated that the method 500 may includeadditional, fewer, or alternate actions, including those discussedelsewhere herein.

VI. Exemplary Electronic Device

FIG. 6 illustrates a diagram of an exemplary electronic device 610 (suchas the electronic device 110 as discussed with respect to FIG. 1) inwhich the functionalities as discussed herein may be implemented. Itshould be appreciated that the electronic device 610 may be associatedwith an individual, as discussed herein.

The electronic device 610 may include one or more processors 622 as wellas a memory 678. The memory 678 may store an operating system 679capable of facilitating the functionalities as described herein. Thememory 678 may further store an image cache 680 for storing image datacaptured by one or more image sensors 690. The electronic device 610 mayalso store a set of applications 675 (i.e., machine readableinstructions). For example, one of the set of applications 675 may be aplumbing supply product identification application 684 configured todirect the individual through the process of identifying an unidentifiedplumbing supply product. It should be appreciated that otherapplications are envisioned.

The one or more processors 622 may interface with the memory 678 toexecute the operating system 679 and the set of applications 675. Thememory 678 may include one or more forms of volatile and/ornon-volatile, fixed and/or removable memory, such as read-only memory(ROM), electronic programmable read-only memory (EPROM), random accessmemory (RAM), erasable electronic programmable read-only memory(EEPROM), and/or other hard drives, flash memory, MicroSD cards, andothers.

The electronic device 610 may further include a communication module 677configured to communicate data via one or more networks 620. Accordingto some embodiments, the communication module 677 can include one ormore transceivers (e.g., WWAN, WLAN, and/or WPAN transceivers)functioning in accordance with IEEE standards, 3GPP standards, or otherstandards, and configured to receive and transmit data via one or moreexternal ports 676. For example, the communication module 677 may send,via the network 620, image data representative of an unidentifiedplumbing supply product captured by the image one or more sensors 690.The electronic device 610 may further include a user interface 681configured to present information to the individual and/or receiveinputs from the individual. As shown in FIG. 6, the user interface 681may include a display screen 682 and/or I/O components 683 (e.g., ports,capacitive or resistive touch sensitive input panels, keys, buttons,lights, LEDs, speakers, microphones). According to the presentembodiments, the user may access the electronic device 610 via the userinterface 681 to capture image data of the unidentified plumbing supplyproduct and/or perform other functions. In some embodiments, theelectronic device 610 may perform the functionalities as discussedherein as part of a “cloud” network or can otherwise communicate withother hardware or software components within the cloud to send,retrieve, or otherwise analyze data.

In general, a computer program product in accordance with an embodimentmay include a computer usable storage medium (e.g., standard randomaccess memory (RAM), an optical disc, a universal serial bus (USB)drive, or the like) having computer-readable program code embodiedtherein, wherein the computer-readable program code is adapted to beexecuted by the one or more processors 622 (e.g., working in connectionwith the operating system 679) to facilitate the functions as describedherein. In this regard, the program code may be implemented in anydesired language, and may be implemented as machine code, assembly code,byte code, interpretable source code or the like (e.g., via Python, orother languages, such as C, C++, Java, Actionscript, Objective-C,Javascript, CSS, XML). In some embodiments, the computer program productmay be part of a cloud network of resources.

VII. Exemplary Identification Server

FIG. 7 illustrates a diagram of an exemplary identification server 725(such as the identification server 125 as discussed with respect toFIG. 1) in which the functionalities as discussed herein may beimplemented. It should be appreciated that the identification server 725may be associated with an insurance provider, as discussed herein.

The identification server 725 may include one or more processors 722 aswell as a memory 778. The memory 778 may store an operating system 779capable of facilitating the functionalities as described herein. Thememory 778 may further store tag data 780 representative of a pluralityrepresentative descriptors, descriptor rules, and thresholds asdescribed elsewhere herein. The identification server 725 may also storea set of applications 775 (i.e., machine readable instructions). Forexample, one of the set of applications 775 may be an image analysisroutine 784 configured to generate a plurality of descriptors from a setof received image data. It should be appreciated that other applicationsare envisioned.

The one or more processors 722 may interface with the memory 778 toexecute the operating system 779 and the set of applications 775. Thememory 778 may include one or more forms of volatile and/ornon-volatile, fixed and/or removable memory, such as read-only memory(ROM), electronic programmable read-only memory (EPROM), random accessmemory (RAM), erasable electronic programmable read-only memory(EEPROM), and/or other hard drives, flash memory, MicroSD cards, andothers.

The identification server 725 may further include a communication module777 configured to communicate data via one or more networks 720.According to some embodiments, the communication module 777 can includeone or more transceivers (e.g., WWAN, WLAN, and/or WPAN transceivers)functioning in accordance with IEEE standards, 3GPP standards, or otherstandards, and configured to receive and transmit data via one or moreexternal ports 776. For example, the communication module 777 mayreceive, via the network 720, image data representative of anunidentified plumbing supply product. The identification server 725 mayfurther include a user interface 781 configured to present informationto the individual and/or receive inputs from the individual. As shown inFIG. 7, the user interface 781 may include a display screen 782 and/orI/O components 783 (e.g., ports, capacitive or resistive touch sensitiveinput panels, keys, buttons, lights, LEDs, speakers, microphones).According to the present embodiments, the user may access theidentification server 725 via the user interface 781 to update theoperating system 779 and/or perform other functions. In someembodiments, the identification server 725 may perform thefunctionalities as discussed herein as part of a “cloud” network or canotherwise communicate with other hardware or software components withinthe cloud to send, retrieve, or otherwise analyze data.

In general, a computer program product in accordance with an embodimentmay include a computer usable storage medium (e.g., standard randomaccess memory (RAM), an optical disc, a universal serial bus (USB)drive, or the like) having computer-readable program code embodiedtherein, wherein the computer-readable program code is adapted to beexecuted by the one or more processors 722 (e.g., working in connectionwith the operating system 779) to facilitate the functions as describedherein. In this regard, the program code may be implemented in anydesired language, and may be implemented as machine code, assembly code,byte code, interpretable source code or the like (e.g., via Python, orother languages, such as C, C++, Java, Actionscript, Objective-C,Javascript, CSS, XML). In some embodiments, the computer program productmay be part of a cloud network of resources.

VIII. Additional Considerations

Throughout this specification, plural instances may implementcomponents, operations, or structures described as a single instance.Although individual operations of one or more methods are illustratedand described as separate operations, one or more of the individualoperations may be performed concurrently, and nothing requires that theoperations be performed in the order illustrated. Structures andfunctionality presented as separate components in example configurationsmay be implemented as a combined structure or component. Similarly,structures and functionality presented as a single component may beimplemented as separate components. These and other variations,modifications, additions, and improvements fall within the scope of thesubject matter herein.

Additionally, certain embodiments are described herein as includinglogic or a number of routines, subroutines, applications, orinstructions. These may constitute either software (e.g., code embodiedon a non-transitory, machine-readable medium) or hardware. In hardware,the routines, etc., are tangible units capable of performing certainoperations and may be configured or arranged in a certain manner. Inexample embodiments, one or more computer systems (e.g., a standalone,client or server computer system) or one or more hardware modules of acomputer system (e.g., a processor or a group of processors) may beconfigured by software (e.g., an application or application portion) asa hardware module that operates to perform certain operations asdescribed herein.

In various embodiments, a hardware module may be implementedmechanically or electronically. For example, a hardware module maycomprise dedicated circuitry or logic that is permanently configured(e.g., as a special-purpose processor, such as a field programmable gatearray (FPGA) or an application-specific integrated circuit (ASIC)) toperform certain operations. A hardware module may also compriseprogrammable logic or circuitry (e.g., as encompassed within ageneral-purpose processor or other programmable processor) that istemporarily configured by software to perform certain operations. Itwill be appreciated that the decision to implement a hardware modulemechanically, in dedicated and permanently configured circuitry, or intemporarily configured circuitry (e.g., configured by software) may bedriven by cost and time considerations.

Accordingly, the term “hardware module” should be understood toencompass a tangible entity, be that an entity that is physicallyconstructed, permanently configured (e.g., hardwired), or temporarilyconfigured (e.g., programmed) to operate in a certain manner or toperform certain operations described herein. Considering embodiments inwhich hardware modules are temporarily configured (e.g., programmed),each of the hardware modules need not be configured or instantiated atany one instance in time. For example, where the hardware modulescomprise a general-purpose processor configured using software, thegeneral-purpose processor may be configured as respective differenthardware modules at different times. Software may accordingly configurea processor, for example, to constitute a particular hardware module atone instance of time and to constitute a different hardware module at adifferent instance of time.

Hardware modules may provide information to, and receive informationfrom, other hardware modules. Accordingly, the described hardwaremodules may be regarded as being communicatively coupled. Where multipleof such hardware modules exist contemporaneously, communications may beachieved through signal transmission (e.g., over appropriate circuitsand buses) that connect the hardware modules. In embodiments in whichmultiple hardware modules are configured or instantiated at differenttimes, communications between such hardware modules may be achieved, forexample, through the storage and retrieval of information in memorystructures to which the multiple hardware modules have access. Forexample, one hardware module may perform an operation and store theoutput of that operation in a memory device to which it iscommunicatively coupled. A further hardware module may then, at a latertime, access the memory device to retrieve and process the storedoutput. Hardware modules may also initiate communications with input oroutput devices, and may operate on a resource (e.g., a collection ofinformation).

The various operations of example methods described herein may beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors may constitute processor-implemented modulesthat operate to perform one or more operations or functions. The modulesreferred to herein may, in some example embodiments, compriseprocessor-implemented modules.

Similarly, the methods or routines described herein may be at leastpartially processor-implemented. For example, at least some of theoperations of a method may be performed by one or more processors orprocessor-implemented hardware modules. The performance of certain ofthe operations may be distributed among the one or more processors, notonly residing within a single machine, but deployed across a number ofmachines. In some example embodiments, the processor or processors maybe located in a single location (e.g., within a home environment, anoffice environment or as a server farm), while in other embodiments theprocessors may be distributed across a number of locations.

The performance of certain of the operations may be distributed amongthe one or more processors, not only residing within a single machine,but deployed across a number of machines. In some example embodiments,the one or more processors or processor-implemented modules may belocated in a single geographic location (e.g., within a homeenvironment, an office environment, or a server farm). In other exampleembodiments, the one or more processors or processor-implemented modulesmay be distributed across a number of geographic locations.

Unless specifically stated otherwise, discussions herein using wordssuch as “processing,” “computing,” “calculating,” “determining,”“presenting,” “displaying,” or the like may refer to actions orprocesses of a machine (e.g., a computer) that manipulates or transformsdata represented as physical (e.g., electronic, magnetic, or optical)quantities within one or more memories (e.g., volatile memory,non-volatile memory, or a combination thereof), registers, or othermachine components that receive, store, transmit, or displayinformation.

As used herein any reference to “one embodiment” or “an embodiment”means that a particular element, feature, structure, or characteristicdescribed in connection with the embodiment is included in at least oneembodiment. The appearances of the phrase “in one embodiment” in variousplaces in the specification are not necessarily all referring to thesame embodiment.

The term “insurance policy,” as used herein, generally refers to acontract between an insurer and an insured. In exchange for paymentsfrom the insured, the insurer pays for damages to the insured which arecaused by covered perils, acts or events as specified by the language ofthe insurance policy. In some scenarios, when the insurer pays damagesto the insured, the insurer may be able recover the cost of thosedamages from one or more third parties. The term “subrogation,” as usedherein, generally refers to the process of recovering the cost ofdamages from these third parties.

The terms “insurer,” “insuring party,” and “insurance provider” are usedinterchangeably herein to generally refer to a party or entity (e.g., abusiness or other organizational entity) that provides insuranceproducts, e.g., by offering and issuing insurance policies. Typically,but not necessarily, an insurance provider may be an insurance company.

The terms “insured,” “insured party,” “policyholder,” “customer,”“claimant,” and “potential claimant” are used interchangeably herein torefer to a person, party, or entity (e.g., a business or otherorganizational entity) that is covered by the insurance policy, e.g.,whose insured article or entity (e.g., property, life, health, auto,home, business) is covered by the policy.

As used herein, the terms “comprises,” “comprising,” “includes,”“including,” “has,” “having” or any other variation thereof, areintended to cover a non-exclusive inclusion. For example, a process,method, article, or apparatus that comprises a list of elements is notnecessarily limited to only those elements but may include otherelements not expressly listed or inherent to such process, method,article, or apparatus. Further, unless expressly stated to the contrary,“or” refers to an inclusive or and not to an exclusive or. For example,a condition A or B is satisfied by any one of the following: A is true(or present) and B is false (or not present), A is false (or notpresent) and B is true (or present), and both A and B are true (orpresent).

In addition, use of the “a” or “an” are employed to describe elementsand components of the embodiments herein. This is done merely forconvenience and to give a general sense of the description. Thisdescription, and the claims that follow, should be read to include oneor at least one and the singular also includes the plural unless it isobvious that it is meant otherwise.

This detailed description is to be construed as exemplary and does notdescribe every possible embodiment, as describing every possibleembodiment would be impractical, if not impossible. One could implementnumerous alternate embodiments, using either current technology ortechnology developed after the filing date of this application.

What is claimed:
 1. A computer-implemented method for identifying anunidentified plumbing supply product, the method comprising: generating,by the one or more processors, a first request to capture identifyinginformation corresponding to the unidentified plumbing supply product;transmitting, via a communications network to an electronic devicecorresponding to an individual associated with the unidentified plumbingsupply product, the first request to capture the identifyinginformation; receiving, via the communications network, a first set ofimage data encoding an image of the unidentified plumbing supply producttherein; analyzing, by the one or more processors, the first set ofimage data to generate a first set of descriptors representative of theunidentified plumbing supply product, wherein each descriptor is anumerical vector representative of an aspect of a set of image data;comparing, by the one or more processors, the first set of descriptorsto a plurality of stored descriptors; determining, by the one or moreprocessors, that the first set of descriptors does not match a set ofstored descriptors of the plurality of stored descriptors correspondingto a particular plumbing supply product stored in a plumbing supplyproduct database, wherein the plumbing supply product database includesdata representative of a plurality of known plumbing supply products;generating, by the one or more processors, a second request to captureidentifying information corresponding to the unidentified plumbingsupply product; transmitting, via the communications network to theelectronic device corresponding to the individual, the second request tocapture the identifying information; receiving, via the communicationsnetwork, a second set of image data encoding an image of theunidentified plumbing supply product therein; analyzing, by the one ormore processors, the second set of image data to generate a second setof descriptors representative of the unidentified plumbing supplyproduct; and determining, by the one or more processors, that thecombination of the first and second sets of descriptors indicates thatthe unidentified plumbing supply product is the particular plumbingsupply product stored in the plumbing supply product database; andtransmitting, via the communication network to the electronic deviceassociated with the individual, a notification that the unidentifiedplumbing supply product has been successfully identified.
 2. Thecomputer-implemented method of claim 1, further comprising: accessing,by the one or more processors, a plurality of tags, wherein theplurality of tags are representative of a plurality of aspects of theplurality of known plumbing supply products.
 3. The computer-implementedmethod of claim 2, wherein the plurality of aspects of the plurality ofknown plumbing supply products include of at least one of: a shape, acolor, particular text or symbols, a size, a scale, or an identity of anindividual plumbing supply product.
 4. The computer-implemented methodof claim 2, wherein data corresponding to each of the plurality of tagscomprises: a descriptor rule, a representative descriptor, and athreshold value.
 5. The computer-implemented method of claim 4, whereingenerating the first set of descriptors comprises: processing, by theone or more processors, the first set of image data by performing aplurality of descriptor rules corresponding to the plurality of tags. 6.The computer-implemented method of claim 4, wherein comparing the firstset of descriptors to a plurality of stored descriptors furthercomprises: for each generated descriptor corresponding to a respectivetag: comparing, by the one or more processors, the generated descriptorto a representative descriptor corresponding respective tag bycalculating a Euclidean distance between the generated descriptor andthe representative descriptor; when the calculated Euclidean distance isless than a threshold value corresponding to the respective tag,determining that the unidentified plumbing supply product should betagged with the respective tag; and when the calculated Euclideandistance is greater than the threshold value corresponding to therespective tag, determining that the unidentified plumbing supplyproduct should not be tagged with the respective tag.
 7. Thecomputer-implemented method of claim 6, wherein determining whether thefirst set of descriptors indicates that the unidentified plumbing supplyproduct matches a plumbing supply product stored in the plumbing supplyproduct database comprises at least one of: identifying that theunidentified plumbing supply product has been tagged with a tagrepresentative of the identity of the particular plumbing supplyproduct; and identifying that the unidentified plumbing supply producthas been tagged with a set of tags that is equivalent to a set of tagscorresponding to the particular plumbing supply product stored in theplumbing supply product database.
 8. The computer-implemented method ofclaim 1, wherein generating the second request to capture identifyinginformation corresponding to the unidentified plumbing supply productfurther comprises: generating, by the one or more processors, aninstruction that the identifying information should include a secondfeature and/or angle of the unidentified plumbing supply product.
 9. Thecomputer-implemented method of claim 1, wherein transmitting thenotification that the unidentified plumbing supply product has beensuccessfully identified comprises: transmitting, via the communicationsnetwork to the electronic device corresponding to an individual, anindication identifying the unidentified plumbing supply product as theparticular plumbing supply product stored in the plumbing supply productdatabase.
 10. A method for enabling a user to identify an unidentifiedplumbing supply product via an application executing on an electronicdevice, wherein the electronic device includes one or more processors, amemory coupled to the one or more processors and a camera configured tocapture images including the unidentified plumbing supply productencoded therein, the method comprising: the application causing the oneor more processors to activate the electronic device's camera forcapturing a first image of the unidentified plumbing supply product,wherein the unidentified plumbing supply product is associated with aninsurance claim; the application causing the camera to capture the firstimage, displayed in the application, of the unidentified plumbing supplyproduct; the application causing the one or more processors to transmitfrom the electronic device, over a communications network to anidentification server associated with an insurance provider, the firstimage of the unidentified plumbing supply product; receiving anotification, at the electronic device over the communications network,indicating that the unidentified plumbing supply product has beensuccessfully identified; and in response to receiving the notificationthat the unidentified plumbing supply product has been successfullyidentified, causing the one or more processors to display in theapplication an indication that the unidentified plumbing supply producthas been successfully identified.
 11. The method of claim 10, whereinthe application causing the one or more processors to activate theelectronic device's camera for capturing the first image of theunidentified plumbing supply product further comprises: the applicationcausing the one or more processors to display an instruction indicatinga first feature and/or angle of the unidentified plumbing supply productto include in the first image.
 12. The method of claim 10, furthercomprising: receiving a notification, at the electronic device over thecommunications network, indicating that a second image is required toidentify the unidentified plumbing supply product; the applicationcausing the one or more processors to activate the electronic device'scamera for capturing the second image of the unidentified plumbingsupply product; the application causing the camera to capture the secondimage, displayed in the application, of the unidentified plumbing supplyproduct; and the application causing the one or more processors totransmit, from the electronic device over a communications network, tothe identification server associated with the insurance provider, thesecond image of the unidentified plumbing supply product.
 13. The methodof claim 12, wherein the application causing the one or more processorsto activate the electronic device's camera for capturing the secondimage of the unidentified plumbing supply product further comprises: theapplication causing the one or more processors to display an instructionindicating a second feature and/or angle of the unidentified plumbingsupply product to include in the second image.
 14. The method of claim11, wherein causing to display the instruction indicating the firstfeature of the unidentified plumbing supply product includes displayingan instruction to capture an image of at least one of: text or symbolson the unidentified plumbing supply product, a side-view of theunidentified plumbing supply product, a front-view of the unidentifiedplumbing supply product, a coupling associated with the unidentifiedplumbing supply product, or a physical token indicative of the scale ofthe unidentified plumbing supply product.
 15. The method of claim 10,further comprising: in response to receiving an input indicating aselection of a plumbing supply product identification option: causingthe one or more processors to display an interface in the applicationexecuting on the electronic device, the interface enabling the receptionof a plurality of manual input from the user; and receiving theplurality of manual input at the one or more processors from the user.16. The method of claim 15, wherein receiving the plurality of manualinput further comprises: receiving manual input indicative of a categoryof plumbing supply product.
 17. The method of claim 10, whereindisplaying an indication that the unidentified plumbing supply producthas been successfully identified further comprises: displaying in theapplication a determined identity of the unidentified plumbing supplyproduct.
 18. A system for enabling a user to identify an unidentifiedplumbing supply product, the system comprising: a communication network;one or more electronic devices, wherein each electronic device comprisesone or more processors, a memory coupled to the one or more processorsand a camera configured to capture images including the unidentifiedplumbing supply product encoded therein; one or more serverscommunicative coupled to the communication network and the one or moreelectronic devices; one of the one or more electronic devices having anapplication stored thereon, wherein the application is configured to:cause the one or more processors to activate the electronic device'scamera for capturing an image of the unidentified plumbing supplyproduct, wherein the unidentified plumbing supply product is associatedwith an insurance claim; cause the camera to capture the image,displayed in the application, of the unidentified plumbing supplyproduct; cause the one or more processors to transmit from theelectronic device, over the communications network to an identificationserver associated with an insurance provider, the image of theunidentified plumbing supply product; receive a notification, at theelectronic device over the communications network, indicating that theunidentified plumbing supply product has been successfully identified;and in response to receiving the notification that the unidentifiedplumbing supply product has been successfully identified, cause the oneor more processors to display in the application an indication that theunidentified plumbing supply product has been successfully identified.19. A system for identifying a plurality of unidentified plumbing supplyproducts, the system comprising: a communication network; one or moreelectronic devices, wherein each electronic device comprises one or moreprocessors, a memory coupled to the one or more processors and a cameraconfigured to capture images including at least one of the plurality ofunidentified plumbing supply products encoded therein; one or moreservers communicative coupled to the communication network and the oneor more electronic devices; one of the one or more servers having anapplication stored thereon, wherein the application is configured to:receive, via the communications network, a plurality of sets of imagedata encoding an image of one of the plurality of unidentified plumbingsupply products therein; analyze, by the one or more processors, theplurality of sets of image data to generate a plurality of sets ofdescriptors representative of the plurality of unidentified plumbingsupply products, wherein each descriptor is a numerical vectorrepresentative of an aspect of a set of image data; compare, by the oneor more processors, the plurality of sets of descriptors to a pluralityof stored descriptors; determine, by the one or more processors, that aparticular set of descriptors of the plurality of sets of descriptorsdoes not indicate that a particular unidentified plumbing supply productof the plurality of unidentified plumbing supply products matches aplumbing supply product stored in a plumbing supply product database,wherein the plumbing supply product database includes datarepresentative of a plurality of known plumbing supply products;generating, by the one or more processors, a request to captureadditional identifying information corresponding to the particularunidentified plumbing supply product; transmitting, via thecommunications network to the electronic device corresponding to theparticular unidentified plumbing supply product, the request to capturethe additional identifying information; receiving, via thecommunications network, a second set of image data encoding an image ofthe particular unidentified plumbing supply product therein; analyzing,by the one or more processors, the second set of image data to generatea second set of descriptors representative of the particularunidentified plumbing supply product; and determining, by the one ormore processors, that the combination of the first and second sets ofdescriptors indicates that the particular unidentified plumbing supplyproduct is a particular plumbing supply product stored in the plumbingsupply product database; and transmit, via the communication network tothe electronic device corresponding to the particular unidentifiedplumbing supply products, a notification that particular unidentifiedplumbing supply products has been successfully identified.